local function MakeHalo(name)
    local assets =
    {
        Asset("ANIM", "anim/" .. name .. ".zip"),
    }

    local prefabs = {}

    local function fn()
        local inst = CreateEntity()

        inst.entity:AddTransform()
        inst.entity:AddAnimState()
        inst.entity:AddNetwork()

        inst.AnimState:SetBank(name)
        inst.AnimState:SetBuild(name)
        inst.AnimState:PlayAnimation("idle")
        inst.AnimState:Hide("snow")
        inst.AnimState:Hide("lamp")
        inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")
        inst.AnimState:SetFinalOffset(3)

        inst:AddTag("NOBLOCK")
        inst:AddTag("NOCLICK")
        inst:AddTag("FX")

        inst.entity:SetPristine()

        if not TheWorld.ismastersim then
            return inst
        end

        return inst
    end

    return Prefab(name .. "_halo", fn, assets, prefabs)
end

return MakeHalo("bboy_candle_lamp"),
    MakeHalo("bboy_nether_lamp")
